/**
 * aphanda 
 */
package com.mc.lp.database.dao;

import java.util.List;

import org.springframework.dao.DataAccessException;

import com.mc.lp.database.entity.AcademicRecordEntity;
import com.mc.lp.shared.vo.SearchCriteriaVO;

/*
 * @author aphanda
 * @date Sep 14, 2014
 * @time 2:01:10 AM
 */

/**
 * @author aphanda
 * 
 */
public interface IAcademicRecordDAO extends IGenericDAO<AcademicRecordEntity, Long> {
	
	public void saveAcademics(AcademicRecordEntity e);
	
	public List<AcademicRecordEntity> getAcademicsRecordsByGradeAndTerm(String grade, Integer termId);

	public List<AcademicRecordEntity> fetchDetailsByEntityIdTermGrade(Long entityId, int gradeId,
			int termId);
	
	public List<AcademicRecordEntity> fetchDetailsByEntityIdYear(Long entityId, int year, int limit);
	public List<AcademicRecordEntity> fetchDetailsByEntityIdTerm(Long entityId, int year, int termId, int limit);
	public List<AcademicRecordEntity> getAllAcadsByStudentEntity(Long studentEntity);
	public List<AcademicRecordEntity> fetchAcademicsByGrades(Long studentEntity , List<Integer> gradeValueList) throws DataAccessException;
	
	
	public List<AcademicRecordEntity> fetchAcademicsBySearchCriteriaForAdvancedGraph(SearchCriteriaVO crit) throws DataAccessException;
	
	
}
